
Ext.onReady(function(){
	//把此页面改变的状态保存在cookie里面
    Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
    
	var listUrl='../hf/sortManager.do?action=ajaxList';
	//创建表格的数据
    var store = new Ext.data.Store({//start Ext.data.Store
		proxy:new Ext.data.HttpProxy({//创建Http的代理类
			url:listUrl						//读取数据的url
		}),
		reader:new Ext.data.JsonReader({//start Ext.data.JsonReader
			root:'rows',					//存储数据的属性
			totalProperty:'results',		//总共的数据数
			id:'uniqueCode'					//每行的id值
		},[								//end Ext.data.JsonReader
			{name:'orderNo'},				//从应用服务器中读取数据的属性名称，默认情况下如果mapping为空则取name的值
			{name:'sortType'},				//从应用服务器中读取数据的属性名称，默认情况下如果mapping为空则取name的值
			{name:'createDate'},			//从应用服务器中读取数据的属性名称，默认情况下如果mapping为空则取name的值
			{name:'inOrOut'},				//从应用服务器中读取数据的属性名称，默认情况下如果mapping为空则取name的值
			{name:'sortName'}				//从应用服务器中读取数据的属性名称，默认情况下如果mapping为空则取name的值
		])
	});
	//开始加载数据
    store.load();
	//创建分页工具栏类
    var bbar=new Ext.PagingToolbar({		//在grid底层添加分页工具栏
			pageSize:10,					//显示的数据条数
			store:store,					//选择翻页按钮时的加载到grid的数据
			displayInfo:true,				//设置是否显示分页栏的信息
			displayMsg:'显示第 {0} 条到 {1} 条记录，一共 {2} 条',//消息栏的页数信息0-2为绑定的参数
															//0:开始读取的数据条数
															//1:结束读取的数据条数
															//2:总共符合条件的数据条数
			emptyMsg:"没有记录"				//当没有记录时要显示的信息
		});//end bbar
    //设置含有checkbox的选择模式
    var sm=new Ext.grid.CheckboxSelectionModel({//start Ext.grid.CheckboxSelectionModel
		singleSelect:false					//是否只能选择一个，false为多选
	});
    
    //创建表格类
    var grid = new Ext.grid.GridPanel({
        store: store,						//grid的数据读取源
        layout:'anchor',					//布局方式
        height:Ext.get('grid-example').getHeight(),//设置grid的高为整个显示窗口
        maskDisabled:true,					// 加载数据的时候是否有正在加载的显示页面，true为有
        columns: [//设置表格的列信息
        	new Ext.grid.RowNumberer(),		//这只自动增长的列
        	sm,{							//添加chechbox列
				header:'分类名称',			//列名称
				dataIndex:'sortName',		//数据对应名称
				sortable: true				//设置是否可以排序，true为排序
			},{
				header:'分类类型',			//列名称
				sortable: true,				//设置是否可以排序，true为排序
				dataIndex:'sortType'		//数据对应名称
			},{
				header:'收入/支出',			
				sortable: true,
				dataIndex:'inOrOut',		
				renderer:function(value){	//设置此列的显示函数
					if(value==1){			//如果此列中对应的数据值为1的显示字符串'支出'
						return '支出';		//如果此列中对应的数据值为1的显示字符串'收入'
					}else if(value==0){
						return '收入';
					}else{
						return ;
					}
				}
			},{
				header:'排列序号',
				sortable: true,
				dataIndex:'orderNo'
			},{
				header:'创建时间',
				sortable: true,
				dataIndex:'createDate'
			}
        ],
        //enableDragDrop:true,				//设置此表格的行是否可以拖放
        viewConfig:{						//定义表格面板中显示表格的Ext.grid.GridView类
			autoFill:true,					//设置在渲染时是否可以自动填充列
			deferEmptyText:'请等待...',		//第一此加载grid的数据源store时显示的提示内容
			emptyText:'没有数据',				//数据源为空的时候显示的提示内容
			enableRowBody:true				//设置每行是否通过tr表格标签的封装，通过getRowClass获取行的内容，并维护此行的内容
		},
        //stripeRows: true,					//true为被选择的行加波浪框		
        enableColumnMove :true,				//true为可以改变列的位置
        //minHeight:100,						//设置最小的高度
        sm:sm,								//设置表格的checkbox列上的栏添加checkbx
        bbar:bbar							//设置表格的底部工具栏
    });
	 
    grid.render('grid-example');			//渲染表格

    grid.getSelectionModel().selectFirstRow();//渲染后设置第一行为被选择状态
    //设置可放的范围类
   /* var target=new Ext.dd.DropTarget(grid.view.mainBody,{
    	ddGroup:'GridDD',					//设置组
    	copy:false,							//true为负责此行，即多一行
    	notifyDrop:function(dd,e,data){		//设置放的触发事件函数
    		//获得grid选中的多少行的数据 
    		var rows=data.selections;		
    		//获得与拖动的关联数据 （要drop的位置）
    		var index=dd.getDragData(e).rowIndex;
    		if(typeof(index)=='undefined'){
    			return;
    		}
    		//插入选中的所有的行
    		for(var i=0;i<rows.length;i++){
    			var rowData=rows[i];
    			//如果copy为false则删除原来的行
    			if(!this.copy) store.remove(rowData);
    			store.insert(index,rowData);
    		}  		
    		grid.view.refresh();			//刷新grid的view显示类，重新显示自动增长的排序，view的数据并没有刷新
    	}
    });*/
});